package com.lyl.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.lyl.domain.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lyl.dto.UserDto;
import com.lyl.model.AuthForm;

import java.util.List;
import java.util.Map;


/**
 * @author lylbell
 * @date 2021-06-26 14:44
 */
    
public interface UserService extends IService<User>{


    /**
     * 分页查找用户
     * @param page
     * @param mobile  手机号
     * @param userId  用户id
     * @param userName 用户名
     * @param realName 真实姓名
     * @param status 状态
     * @return
     */
    Page<User> findByPage(Page<User> page, String mobile, Long userId, String userName, String realName, Integer status,Integer reviewsStatus);


    /**
     * 获取用户邀请列表
     * @param page
     * @param userId
     * @return
     */
    Page<User> findDirectInvites(Page<User> page, Long userId);


    /**
     * 审核用户认证信息
     * @param id
     * @param authStatus
     * @param authCode
     * @param remark
     * @return
     */
    Boolean updateUserAuthStatus(Long id, Integer authStatus, Long authCode, String remark);

    /**
     * 身份认证（姓名和身份证）
     * @param authForm
     * @return
     */
    Boolean authAccount(AuthForm authForm);



    /**
     * 用于admin-server 里面远程调用member-server
     *
     * @param ids
     * @return
     */
    Map<Long,UserDto> getBasicUsers(List<Long> ids, String username, String mobile);
}
